package org.dromara.tearoom.domain.vo;

import org.dromara.tearoom.domain.TerHornEquipment;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;



/**
 * 喇叭设备管理视图对象 ter_horn_equipment
 *
 * @author xch
 * @date 2025-04-23
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TerHornEquipment.class)
public class TerHornEquipmentVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @ExcelProperty(value = "")
    private Long id;

    /**
     * 设备名称
     */
    @ExcelProperty(value = "设备名称")
    private String deviceName;

    /**
     * 设备编号
     */
    @ExcelProperty(value = "设备编号")
    private String deviceNo;

    /**
     * 自动播报描述
     */
    @ExcelProperty(value = "自动播报描述")
    private String descriptionAuto;

    /**
     * 立即播报描述
     */
    @ExcelProperty(value = "立即播报描述")
    private String descriptionIdly;

    /**
     * 设备音速（1-10）
     */
    @ExcelProperty(value = "设备音速", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=-10")
    private Long deviceSpd;

    /**
     * 设备音色（越大越尖锐，越小越低沉）
     */
    @ExcelProperty(value = "设备音色", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "越=大越尖锐，越小越低沉")
    private Long devicePit;

    /**
     * 设备音量（1-10）
     */
    @ExcelProperty(value = "设备音量", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=-10")
    private Long deviceVol;

    /**
     * 男声/女声
     */
    @ExcelProperty(value = "男声/女声")
    private Long devicePer;

    private Long teroomId;
    private String teroomName;

    private String cookieValue;
    private LocalDateTime modifyTime;
    private Integer firstSecn;
    private Integer lastSecn;
}
